;递归过程
(define (cont-frac n d k)
  (define (cont-frac-iter index)
    (cond ((< index k) (/ (n index) (+ (d index) (cont-frac-iter (+ index 1)))))
          (else (d k))))
  (cont-frac-iter 1))

;迭代过程
(define (cont-frac n d k)
  (define (cont-frac-iter index result)
    (cond ((< index 1) result)
          (else (cont-frac-iter (- index 1) (/ (n index) (+ (d index) result)))))) 
  (cont-frac-iter (- k 1) (/ (n k) (d k)))) 

(define (tan-cf x k)
  (cont-frac (lambda (i) (if (= i 1) x (- (* x x))))
             (lambda (i) (- (* 2 i) 1))
             k))
